package com.chenfan.ccp.plug.business.aspect;

import com.chenfan.ccp.plug.business.annotation.LogRecord;
import org.springframework.aop.support.StaticMethodMatcherPointcut;
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.lang.NonNull;

import java.io.Serializable;
import java.lang.reflect.Method;

/**
 * @author xutong
 */
public class LogRecordPointcut extends StaticMethodMatcherPointcut implements Serializable {


    @Override
    public boolean matches(@NonNull Method method, @NonNull Class<?> targetClass) {
        // 解析 这个 method 上有没有 @LogRecordAnnotation 注解，有的话会解析出来注解上的各个参数
        return AnnotationUtils.findAnnotation(method, LogRecord.class) != null;
    }


}
